package com.xmg.p2p.base.mapper;

import com.xmg.p2p.base.domain.Logininfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;

import java.util.Date;

@Repository
public interface LogininfoMapper {


    /**
     * 通过用户类型，来统计用户个数
     *
     * @param userType 用户类型
     * @return 返回数量
     */
    int countByUserType(int userType);

    /**
     * 通过用户名字，来统计用户个数
     * @param username 用户姓名
     * @return 返回数量
     */
    int countUserByName(String username);

    /**
     * 添加一个新用户
     * @param record 用户实体
     * @return  返回影响行数
     */
    int insert(Logininfo record);

    /**
     * 登录
     * @param username  用户名
     * @param encode    用户密码
     * @param userType  用户类型
     * @return  返回影响行数
     */
    Logininfo login(@Param("username") String username,
                    @Param("encode") String encode,
                    @Param("userType") int userType);

    /**
     *  根据Id查询用户信息
     * @param id  id
     * @return 返回一个对象
     */
    Logininfo selectByPrimaryKey(Long id);

    /**
     * 更改用户信息
     * @param record 要更改的用户实体
     * @return  影响行数
     */
    int updateByPrimaryKey(Logininfo record);

    /**
     * 通过用户名查询最后一次登录的时间
     * @param username
     * @return
     */
    Date endLoginTime(String username);
}